package cn.agiledata.bank.common.service;

import java.util.Map;

import cn.agiledata.bank.common.dao.ActionTypeTemplate;
import cn.agiledata.bank.common.util.DateUtil;
import cn.agiledata.bank.common.util.WeatherUtil;
import cn.agiledata.bank.hibernateBean.ScoresHis;
import cn.agiledata.bank.hibernateBean.SubAccount;
import cn.agiledata.bank.hibernateBean.Transaction;
import com.vnv.infrastructure.logic.IPBAppFactory;

/**
 * 退款提醒邮件格式
 * @author 马贤波 
 * 2007-1-31
 * */
public class RefundNotifyMail extends NotifyMail {
	/**
	 * 退款提醒邮件格式
	 */
	protected SubAccount setMailContext(Map vnvMap, Transaction tran,ScoresHis score) {
		SubAccount emailTo = tran.getCredit(),
				   anotherOne = tran.getDebit();
		 ActionTypeTemplate at = (ActionTypeTemplate) IPBAppFactory.getObj("actionTypeTemplate");
		/** 交易对方：付款方 */
		vnvMap.put("account", WeatherUtil.getNameOrEmailOrMobileByAccount(anotherOne.getAccount()));
		/** 交易号 */
		vnvMap.put("tranId", tran.getTransId());
		/** 交易发生时间 */
		vnvMap.put("tranTime", DateUtil.date2String(tran.getBeginDate()));
		/** 交易截止时间 */
		vnvMap.put("tranEnd", DateUtil
				.date2String(NotifyUtil.getPermitedEndDate(
						tran.getUpdateTime(), tran.getTransStatus())));
		String status = at.getTransStatusById(tran.getTransStatus()).getListName();
		/** 交易状态* */
		vnvMap.put("status", status);
		/** 交易金额* */
		
		vnvMap.put("fee",Math.abs(tran.getCreditFee().doubleValue())+"");
		vnvMap.put("trueFee", Math.abs(tran.getAmount().doubleValue())+"");
		vnvMap.put("amount", Math.abs(tran.getAmount().doubleValue())+"");
	    String titlemessage=tran.getDebit().getAccount().getName()+"向您申请退款即将超过时限，请立即同意或者拒绝退款，逾期系统将自动完成退款。";
	    vnvMap.put("titlemessage", titlemessage);
		return emailTo;
	}
}
